package com.star.sync.elasticsearch.dto.torderinfo;

import com.star.sync.elasticsearch.annotation.EsDataMapping;
import com.star.sync.elasticsearch.execute.torderinfo.TOrderInfoExecute;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * t_order_cast_changes
 * @author 
 */
@Data
@EsDataMapping(indexName = "t_order_cast_changes",tableName = "t_order_cast_changes",type = "child")
public class TOrderCastChanges  extends TOrderInfoExecute<TOrderCastChanges> {
    /**
     * 表主键ID
     */
    private Integer id;

    /**
     * 表业务ID
     */
    private String code;

    /**
     * 父级业务ID
     */
    private String pid;

    /**
     * 运单主表业务ID
     */
    private String orderCode;

    /**
     * 线路货物（运费）支付规则表ID
     */
    private Integer lineGoodsCarriageRuleId;

    /**
     * P端承运方钱包ID
     */
    private Integer carrierWalletId;

    /**
     * C端钱包ID
     */
    private Integer endDriverWalletId;

    /**
     * C端类型
     */
    private String endUserType;

    /**
     * 公司钱包id
     */
    private Integer companyWalletId;

    /**
     * B端项目钱包ID
     */
    private Integer companyProjectWalletId;

    /**
     * 运费金额
     */
    private BigDecimal carriageFee;

    /**
     * 调度费金额
     */
    private BigDecimal dispatchFee;

    /**
     * 服务费金额
     */
    private BigDecimal serviceFee;

    /**
     * 其他费用金额
     */
    private BigDecimal otherFee;

    /**
     * 总费用金额
     */
    private BigDecimal totalFee;

    /**
     * 用户操作动作
     */
    private String userOper;

    /**
     * 交易类型
     */
    private String tradeType;

    /**
     * 当前调度费率
     */
    private BigDecimal currentDispatchRate;

    /**
     * 提现方式 枚举值：自主操作，自动到卡；
     */
    private String withdrawType;

    /**
     * 资金转移方式：枚举：1.直接支付到实际运输人（司机）2.支付到车辆所有人（车老板）3.支付给经纪人，再由经济人支付给实际运输人（司机）4.支付给经纪人，再由经纪人支付给车辆所有人（车老板）
     */
    private String capitalTransferType;

    /**
     * 行数据可用性
     */
    private Boolean dataEnable;

    /**
     * 扩展字段1
     */
    private String param1;

    /**
     * 扩展字段2
     */
    private String param2;

    /**
     * 扩展字段3
     */
    private String param3;

    /**
     * 扩展字段4
     */
    private String param4;

    /**
     * 创建人
     */
    private String createUser;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新人
     */
    private String updateUser;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 是否删除 : 1 true 已删除   ||||   0 false 未删除
     */
    private Boolean enable;



    @Override
    public TOrderCastChanges update(TOrderCastChanges tOrderCastChanges) {
        return null;
    }

    @Override
    public TOrderCastChanges delete(TOrderCastChanges tOrderCastChanges) {
        return null;
    }
}